package com.proyemp.instancia;

import java.util.ArrayList;
import java.util.List;


public abstract class AbstractSolver{

    public List solve(List listaContrato){
    	AbstractContract contratoAbstract = (AbstractContract)listaContrato.get(0);
    	List contrato = new ArrayList();
    	contrato.add(contratoAbstract);
        inicializar(contrato);
        validar();
        List resultado = new ArrayList();
        resultado.add(resolver());
        return resultado;
    }
    
    public abstract void inicializar(List contr);
    
    public abstract void validar();
    
    public abstract Result resolver();
    
}